Halo artifacts are a type of image artifacts that appear visible across edges of an image that has generally been processed by an image processing algorithm. These artifacts are characterized by overestimation (“overshoot”) on one side of the edge and underestimation (“undershoot”) on the other side of the edge. Halo artifacts typically appear as visible, unwanted shadows across the edges in the processed image. FIG. 1A illustrates an original, unprocessed image, while FIG. 1B illustrates a halo artifact in the processed image. The halo artifact is most prevalent across the edge between the light area on the left and the darker area on the right. Common image processing methods that generate halo artifacts are high dynamic range compression methods, which rely on Gaussian style blurring (such as Land and McCann's Retinex method). Other common methods that may generate halo artifacts are edge enhancement methods, which include unsharp masking and Wallis Filter [statistical differencing], and other filtering methods.
In the paper, “Gradient domain high dynamic range compression” by Fattal et al., the idea of performing high dynamic range compression by modifying only the magnitudes of the two-dimensional gradient field is proposed. The gradient field is computed as the finite difference in adjacent pixel intensities across a luminance (grayscale) image, on both the horizontal and vertical directions of the image. For each pixel location, the set of horizontal and vertical gradient form a two-dimensional gradient vector. This two-dimensional gradient vector can be characterized by direction and magnitude. The gradient field associated with a specific image includes a plurality of gradient vectors. Fattal et al. propose a method for dynamic range compression that is free from halo artifacts by computing the two-dimensional gradient field in the original image and attenuating only the magnitude of the gradient vectors, preserving the direction of the gradient vectors.